Avastage Web USB API võimsus sujuvaks USB-seadmete juurdepääsuks ja juhtimiseks veebirakendustes, mis on suunatud globaalsele arendajaskonnale.
Esiotsa Web USB API: silla loomine veebilehitsejate ja füüsiliste seadmete vahel
Tänapäeva üha enam ühendatud maailmas ei piirdu veebirakendused enam staatilise teabe kuvamise või puhtalt veebipõhiste ülesannete täitmisega. Soov suhelda füüsilise maailmaga otse veebilehitsejast pole kunagi olnud tugevam. Alates teaduslikest instrumentidest kuni nutikodu seadmeteni ja tööstuslikest juhtimissüsteemidest kuni isikupärastatud vidinateni – veebipõhise riistvarajuhtimise potentsiaal on tohutu ja suures osas kasutamata. Siin astubki lavale esiotsa Web USB API, pakkudes arendajatele võimsat ja standardiseeritud viisi USB-seadmetega suhtlemiseks otse veebilehitsejate kaudu.
Globaalsele arendajaskonnale võib Web USB API mõistmine ja kasutamine avada uusi innovatsioonipiire. Kujutage ette õpilast Nairobis, kes pääseb ligi ja juhib oma sülearvutiga USB kaudu ühendatud mikroskoopi; tehasejuhti Soulis, kes jälgib masinate andurite andmeid reaalajas veebipõhise armatuurlaua kaudu; või hobiharrastajat Berliinis, kes kujundab oma projektile kohandatud valgusefekte USB-juhitava LED-ribaga – kõike seda ilma spetsiaalset tarkvara installimata. Web USB API muudab need ja lugematud muud stsenaariumid käegakatsutavaks reaalsuseks.
Mis on Web USB API?
Web USB API on JavaScripti API, mis võimaldab veebirakendustel suhelda USB (Universal Serial Bus) seadmetega. See on välja töötatud WebUSB spetsifikatsiooni osana ja selle eesmärk on pakkuda turvalist ja standardiseeritud meetodit veebilehtedele USB-välisseadmete avastamiseks, nendega ühenduse loomiseks ning andmete saatmiseks/vastuvõtmiseks. Ajalooliselt oli otsene USB-juurdepääs veebilehitsejatest kas võimatu või nõudis patenteeritud pistikprogramme ja natiivrakendusi, mis tekitasid olulisi sisenemisbarjääre ja piirasid platvormideülest ühilduvust.
Web USB API eesmärk on demokratiseerida riistvaraga suhtlemist, tuues selle otse veebilehitseja keskkonda. See tähendab, et arendajad saavad luua rikkalikke, interaktiivseid veebikogemusi, mis kasutavad ära füüsiliste seadmete võimekust, sundimata kasutajaid alla laadima ja installima eraldiseisvaid, potentsiaalselt keerukaid rakendusi. See on eriti kasulik globaalsele publikule, kus tarkvara installimine võib olla takistuseks erinevate internetikiiruste, seadmete võimekuse või administratiivsete piirangute tõttu.
Põhimõisted ja funktsionaalsus
Web USB API tõhusaks kasutamiseks on oluline mõista selle põhikomponente ja nende koostoimimist:
1. Seadme avastamine ja valimine
Esimene samm USB-seadmega suhtlemisel on selle avastamine ja valimine. Web USB API pakub mehhanisme, mis võimaldavad veebilehitsejal loetleda ühendatud USB-seadmeid ja lubada kasutajal valida, millisele neist juurdepääs anda.
navigator.usb.getDevices(): See meetod hangib nimekirja kõikidest USB-seadmetest, millele praegusel päritolul on varem juurdepääsuluba antud. See on kasulik varem kasutatud seadmetega uuesti ühenduse loomiseks.navigator.usb.requestDevice(options): See on peamine meetod uue ühenduse algatamiseks. See kuvab kasutajale seadme valiku dialoogi, võimaldades tal valida saadaolevate USB-seadmete hulgast. Parameeteroptionson siin ülioluline, kuna see määrab filtrid tootja ID (VID) ja toote ID (PID) või USB klassi, alamklassi ja protokolli alusel. See tagab, et kasutajale esitatakse ainult asjakohased seadmed, parandades turvalisust ja kasutajakogemust.
Näide (kontseptuaalne):
Oletame, et soovime ühendust luua konkreetse Arduino plaadiga. Tavaliselt teaksime selle tootja ID-d (nt 0x2341 Arduino jaoks) ja toote ID-d (nt 0x0043 Arduino Uno jaoks). Kutse requestDevice näeks välja umbes selline:
async function connectArduino() {
try {
const device = await navigator.usb.requestDevice({
filters: [{ vendorId: 0x2341, productId: 0x0043 }]
});
console.log("Connected to Arduino:", device);
// Proceed with communication
} catch (error) {
console.error("Error connecting to device:", error);
}
}
async/await kasutamine on standardpraktika asünkroonsete operatsioonide käsitlemiseks kaasaegses JavaScriptis. Kasutaja selgesõnaline seadmevaliku viip on kriitiline turvaelement, mis takistab pahatahtlikel veebisaitidel vaikselt ühendatud riistvarale juurde pääsemast.
2. Seadme esitus ja teave
Kui seade on valitud, pakub veebilehitseja USBDevice objekti. See objekt kapseldab kogu vajaliku teabe ja meetodid valitud seadmega suhtlemiseks.
USBDeviceomadused: ObjektUSBDevicesisaldab omadusi naguvendorId,productId,productName,manufacturerName,serialNumberning teavet selleconfiguration,interfacesjaopenedstaatuse kohta.open(): See meetod avab ühenduse seadmega, muutes selle andmeedastuseks valmis.close(): See meetod sulgeb ühenduse seadmega.selectConfiguration(configurationValue): USB-seadmetel võib olla mitu konfiguratsiooni. See meetod valib kasutamiseks konkreetse konfiguratsiooni.claimInterface(interfaceNumber): Enne kui veebirakendus saab suhelda seadme konkreetse USB-liidesega, peab ta selle liidese endale reserveerima (claim). See takistab teistel rakendustel või operatsioonisüsteemil sekkumast.releaseInterface(interfaceNumber): Vabastab varem reserveeritud liidese.
Näide (seadme teabe hankimine):
async function getDeviceInfo(device) {
if (device.opened) {
console.log(`Device already open: ${device.productName}`);
} else {
await device.open();
console.log(`Device opened successfully: ${device.productName}`);
}
if (device.configuration === null) {
// If no configuration is selected, select the first one
await device.selectConfiguration(1);
}
console.log("Vendor ID:", device.vendorId);
console.log("Product ID:", device.productId);
console.log("Product Name:", device.productName);
console.log("Manufacturer Name:", device.manufacturerName);
console.log("Serial Number:", device.serialNumber);
// You can also list interfaces if needed
console.log("Interfaces:", device.interfaces);
}
See etapp on stabiilse suhtluskanali loomiseks ülioluline. Konfiguratsiooni valimise ja liidese reserveerimise kontseptsioon on USB-seadmete toimimise alus ja see on otse peegeldatud Web USB API-s.
3. Andmeedastus
Kui liides on reserveeritud, saab seadmesse andmeid saata ja sealt vastu võtta. Seda tehakse lõpp-punktide (endpoints) kaudu, mis on loogilised suhtluskanalid liidese sees.
- Lõpp-punktid: USB-seadmetel on sisendi (IN) ja väljundi (OUT) lõpp-punktid. Andmed saadetakse OUT lõpp-punktidesse ja võetakse vastu IN lõpp-punktidest. Igal lõpp-punktil on unikaalne aadress ja suund.
transferOut(endpointNumber, data): Saadab andmed määratud OUT lõpp-punkti. Andmeteks (data) võib ollaBufferSource(ntArrayBuffer,Uint8Array).transferIn(endpointNumber, length): Taotleb määratud arvu baitide vastuvõtmist määratud IN lõpp-punktist. See tagastab lubaduse (promise), mis lahenebUSBInTransferResultobjektiga, mis sisaldab vastuvõetud andmeid.clearHalt(direction, endpointNumber): Tühistab antud lõpp-punkti seiskumisoleku (halt state).isochronousTransferIn(...),isochronousTransferOut(...): Reaalajas andmevoogude, nagu heli või video, jaoks kasutatakse isokroonseid ülekandeid, mis pakuvad garanteeritud ribalaiust, kuid ei paku veaparandust.
Näide (andmete saatmine ja vastuvõtmine):
async function sendAndReceive(device) {
// Assuming interface 0, endpoint 1 is an OUT endpoint and endpoint 2 is an IN endpoint
const OUT_ENDPOINT = 1;
const IN_ENDPOINT = 2;
const BYTES_TO_READ = 64; // Example: Read up to 64 bytes
// Sending data
const dataToSend = new Uint8Array([0x01, 0x02, 0x03, 0x04]); // Example data
await device.transferOut(OUT_ENDPOINT, dataToSend);
console.log("Data sent successfully.");
// Receiving data
const result = await device.transferIn(IN_ENDPOINT, BYTES_TO_READ);
if (result.data && result.data.byteLength > 0) {
const receivedData = new Uint8Array(result.data);
console.log("Received data:", receivedData);
} else {
console.log("No data received or transfer incomplete.");
}
}
See on suhtluse tuum. Võimalus saata ja vastu võtta suvalisi andmeid võimaldab täielikku kontrolli ühendatud USB-seadme üle, mida piirab ainult seadme püsivara ja selle toetatud protokollid.
4. Juhtimisülekanded
Lisaks standardsetele andmeedastustele toetab Web USB API ka juhtimisülekandeid (control transfers), mida kasutatakse seadme konfigureerimiseks, olekupäringuteks ja muudeks põhilisteks toiminguteks.
controlTransferIn(setup, length): Teostab juhtimisülekande andmete lugemiseks seadmest.controlTransferOut(setup, data): Teostab juhtimisülekande andmete kirjutamiseks seadmesse.
Parameeter setup on USBControlTransferParameters objekt, mis määrab päringu tüübi, saaja, päringukoodi, väärtuse ja indeksi. Need on madala taseme käsud, mis vastavad sageli standardsetele USB-päringutele.
Näide (kontseptuaalne juhtimisülekanne):
async function getDeviceDescriptor(device) {
const setup = {
requestType: 'standard', // 'standard', 'class', or 'vendor'
recipient: 'device', // 'device', 'interface', 'endpoint', or 'other'
request: 0x06, // Standard USB Request: GET_DESCRIPTOR
value: 0x0100, // Descriptor Type: DEVICE (0x01), Index: 0
index: 0 // Index for endpoint descriptor
};
const length = 18; // Length of a standard device descriptor
const result = await device.controlTransferIn(setup, length);
if (result.data) {
console.log("Device Descriptor:", new Uint8Array(result.data));
}
}
Juhtimisülekanded on seadme lähtestamiseks ja seadme võimekuse pärimiseks hädavajalikud ning neid kasutatakse sageli enne standardsete andmeedastuste alustamist.
Veebilehitsejate tugi ja saadavus
Web USB API on suhteliselt uus API ja selle kasutuselevõtt varieerub erinevates veebilehitsejates ja operatsioonisüsteemides. Praegu on sellel parim tugi:
- Google Chrome: Laialdaselt toetatud lauaarvuti platvormidel (Windows, macOS, Linux).
- Microsoft Edge: Kuna see põhineb Chromiumil, pakub see samuti head tuge.
- Opera: Üldiselt järgib Chrome'i implementatsiooni.
Teistes veebilehitsejates nagu Mozilla Firefox ja Safari on tugi kas piiratud või pole veel implementeeritud. Samuti on oluline märkida, et veebilehitsejate implementatsioonidel võib olla peeneid erinevusi või need võivad nõuda spetsiifiliste lippude sisselülitamist, eriti varasemates versioonides. Globaalse publiku jaoks tähendab see, et arendajad peavad olema teadlikud siht-veebilehitsejate keskkondadest. Tagavarastrateegia või selge märge veebilehitsejate ühilduvuse kohta on laialdaseks kasutuselevõtuks hädavajalik.
Lisaks nõuab Web USB API enamiku veebilehitsejate jaoks turvalist konteksti (HTTPS), mis tugevdab veelgi selle turvamudelit. See tähendab, et Web USB-d kasutavaid rakendusi ei saa hostida tavalistel HTTP veebisaitidel.
Turvakaalutlused
Turvalisus on veebilehitsejast riistvarale juurdepääsu puhul esmatähtis. Web USB API on loodud mitmete turvaelementidega:
- Kasutaja nõusolek: Kriitiliselt oluline on, et veebilehitseja ei anna kunagi automaatset juurdepääsu USB-seadmetele. Kasutaja peab selgesõnaliselt valima seadme veebilehitseja pakutud viiba kaudu (kasutades
navigator.usb.requestDevice()). See takistab pahatahtlikel veebisaitidel ühendatud välisseadmete kaaperdamist. - Päritoluga sidumine: Veebisaidile antud load on seotud selle päritoluga (skeem, domeen ja port). Kui kasutaja annab juurdepääsu seadmele saidil
https://example.com, ei laiene see luba automaatselt saidilehttps://subdomain.example.comvõihttps://another-site.com. - Vaikset juurdepääsu ei ole: API ei luba seadmete vaikset loetlemist ega ühendamist.
- Piiratud õiguste eskaleerimine: Kuigi API pakub võimsat juurdepääsu, on see loodud töötama veebilehitseja liivakastis, piirates potentsiaali õiguste eskaleerimiseks kasutaja operatsioonisüsteemis.
Need meetmed on kasutajate kaitsmiseks üliolulised, eriti mitmekesistes globaalsetes keskkondades, kus seadmete omandiõigus, turvatavad ja digitaalne kirjaoskus võivad oluliselt erineda. Arendajad peavad oma kasutajaid harima nende turvaviipade ja selle kohta, kui oluline on anda juurdepääsu ainult usaldusväärsetele veebisaitidele.
Praktilised kasutusjuhud ja globaalsed näited
Web USB API avab füüsiliste seadmetega suhtlevatele veebirakendustele terve maailma võimalusi. Siin on mõned näited selle kasutamisest erinevates piirkondades ja tööstusharudes:
1. Haridus ja teadus
- Kaug-laborid: Riikides, kus spetsialiseeritud seadmetele on piiratud juurdepääs, saavad õpilased veebiliidese kaudu ühenduda kesklaboris asuvate USB-mikroskoopide, spektromeetrite või ostsilloskoopidega. See võimaldab neil katseid läbi viia ja andmeid koguda eemalt. Näiteks võiks India ülikool pakkuda virtuaalset keemialaborit, kus üliõpilased üle maailma saavad juhtida USB-toitega tiitrijat.
- Interaktiivsed õppevahendid: Hariduskomplekte, mis kasutavad USB-liidesega mikrokontrollereid (nagu Arduino või Raspberry Pi Pico), saab juhtida veebilehtede kaudu. See võimaldab interaktiivseid programmeerimistunde, kus õpilased näevad oma koodi vahetut mõju füüsilistele komponentidele, olenemata nende asukohast. Kujutage ette Brasiilias toimuvat programmeerimislaagrit, kus õpetatakse füüsilise andmetöötluse kontseptsioone veebipõhise IDE abil, mis suhtleb otse USB-ühendusega LED-maatriksitega.
2. Tööstus ja tootmine
- Masinate jälgimine ja juhtimine: Tehased saavad kasutada veebipõhiseid armatuurlaudu, mis ühenduvad masinatel olevate USB-varustusega andurite või kontrolleritega. See võimaldab reaalajas jälgida tootmisliine, temperatuurinäiteid või rõhutasemeid mis tahes ühilduva veebilehitsejaga seadmest. Saksamaal asuval tootmisettevõttel võiks olla veebirakendus, mis suhtleb USB-põhiste mõõteseadmetega kvaliteedikontrolli andmete logimiseks.
- Konfiguratsioonitööriistad: Püsivara uuendamist või seadete konfigureerimist USB-toitega tööstusseadmetes saab teha otse veebiliidese kaudu, välistades vajaduse iga seadmetüübi jaoks eraldi tarkvara installeerijate järele. Jaapanis asuv robootikale spetsialiseerunud ettevõte võiks pakkuda veebipõhist tööriista oma USB-ühendusega robotkäte lihtsaks konfigureerimiseks.
3. Tarbeelektroonika ja asjade internet (IoT)
- Nutikodu seadmete haldamine: Kuigi paljud nutikodu seadmed kasutavad Wi-Fi-d või Bluetoothi, võib mõnel olla USB-liides esmaseks seadistamiseks või täpsemaks diagnostikaks. Veebirakendus võiks lihtsustada Austraalias asuva uue USB-ühendusega nutitermostaadi kasutuselevõtu protsessi.
- Kohandatud välisseadmed: Hobiharrastajad ja loojad saavad luua oma USB-juhitavatele seadmetele kohandatud veebiliideseid. See võib ulatuda 3D-printerite juhtpaneelidest kuni kohandatud klaviatuuri konfiguraatorite või LED-valgustuse juhtimissüsteemideni. Kanadas asuv loojate kogukond võiks arendada ühise veebiplatvormi unikaalsete USB-toitega kunstinstallatsioonide juhtimiseks ja esitlemiseks.
4. Tervishoid
- Patsientide jälgimine (rangete kontrollidega): Kontrollitud keskkondades võivad teatud mittekriitilised USB-ühendusega tervisejälgimisseadmed olla andmete koondamiseks ja vaatamiseks ligipääsetavad veebiliideste kaudu. On ülioluline rõhutada, et igasugune tervishoiurakendus nõuaks ranget privaatsuseeskirjade (nagu HIPAA USAs, GDPR Euroopas) järgimist ja tugevaid turvaprotokolle. Ühendkuningriigi uurimisasutus võiks kasutada Web USB-d andmete kogumiseks USB-ühendusega keskkonnaanduritelt pikaajalises patsiendiuuringus.
Väljakutsed ja piirangud
Vaatamata oma potentsiaalile ei ole Web USB API väljakutseteta:
- Piiratud veebilehitsejate tugi: Nagu mainitud, ei toeta kõik suured veebilehitsejad Web USB-d, mis piirab ainult sellele tuginevate rakenduste ulatust. See nõuab arendajatelt progressiivse täiustamise või alternatiivsete lahenduste kaalumist toetuseta platvormidele.
- Operatsioonisüsteemi draiverid: Kuigi Web USB abstraheerib suure osa keerukusest, mängib aluseks olev operatsioonisüsteem endiselt rolli. Mõnikord on vaja spetsiifilisi draivereid, et OS tunneks USB-seadme õigesti ära, enne kui veebilehitseja saab seda isegi loetleda. See võib olla eriti keeruline mitmekesistes globaalsetes IT-keskkondades.
- USB-protokollide keerukus: USB on keeruline protokoll. Seadmeklasside, lõpp-punktide, deskriptorite ja ülekandetüüpide mõistmine on hädavajalik. Web USB API pakub JavaScripti liidest, kuid USB-suhtluse alaste teadmiste olemasolu on endiselt vajalik.
- Turvaviibad võivad olla hirmutavad: Kuigi vajalikud, võivad seadme juurdepääsu kasutajaviibad olla kontseptsiooniga harjumatutele kasutajatele segadust tekitavad või murettekitavad, mis võib viia loa andmisest keeldumiseni. Selge kasutajate harimine on ülioluline.
- Otsest HID-tuge pole (ajalooliselt): Kuigi Web USB-d saab kasutada HID (Human Interface Device) funktsionaalsuse emuleerimiseks, oli otsene juurdepääs geneerilistele HID-seadmetele algselt eraldi ettevõtmine (WebHID API). Siiski jääb Web USB peamiseks viisiks kohandatud USB-seadmetega suhtlemiseks.
- Piiratud juurdepääs madala taseme funktsioonidele: API abstraheerib turvalisuse ja kasutatavuse huvides ära mõned väga madala taseme USB-toimingud. Väga spetsialiseeritud riistvarasuhtluseks, mis nõuab sügavat kontrolli USB-pakettide ajastuse või siini loetlemise üle, ei pruugi Web USB olla piisav.
Parimad praktikad globaalseks arenduseks
Rahvusvahelisele publikule Web USB rakenduste arendamisel arvestage järgmiste parimate tavadega:
- Eelistage kasutajakogemust ja harimist:
- Andke selged ja lühikesed juhised USB-seadmete ühendamiseks ja autoriseerimiseks.
- Kasutage arusaadavat keelt, vältides võimalusel erialatermineid.
- Selgitage, miks veebilehitseja viibad ilmuvad, ja kinnitage kasutajatele nende turvalisust.
- Pakkuge mitmekeelset tuge kogu kasutajale suunatud tekstile ja juhistele.
- Rakendage robustseid tagavarasid:
- Tuvastage veebilehitseja tugi Web USB-le ja pakkuge alternatiivseid funktsionaalsusi või informatiivseid teateid toetuseta veebilehitsejatele.
- Kaaluge allalaaditava kaasrakenduse pakkumist platvormidele või veebilehitsejatele, kus Web USB ei ole elujõuline.
- Käsitlege vigu sujuvalt:
- USB-suhtlus võib olla habras. Rakendage põhjalikku veakäsitlust ühendusprobleemide, andmeedastuse tõrgete ja ootamatute seadme olekute jaoks.
- Pakkuge informatiivseid veateateid, mis juhendavad kasutajat probleemi lahendamisel.
- Optimeerige jõudluse ja ribalaiuse jaoks:
- Kui teie rakendus peab töötlema suuri andmehulki USB-seadmetest, kaaluge tõhusat andmekäsitlust JavaScriptis (nt kasutades tüübitud massiive) ja potentsiaalselt värskenduste viivitamist või piiramist, et vältida veebilehitseja või seadme ülekoormamist.
- Andmete sünkroniseerimise või pilvepõhiste funktsioonide kujundamisel arvestage globaalselt erinevate internetikiiruste ja seadmete võimekusega.
- Testige erinevates keskkondades:
- Testige oma rakendust erinevate USB-seadmete, operatsioonisüsteemide ja veebilehitseja versioonidega.
- Simuleerige erinevaid võrgutingimusi ja riistvara konfiguratsioone, et tagada töökindlus.
- Järgige turvastandardeid:
- Kasutage alati HTTPS-i.
- Määratlege selgelt, milliseid lube teie rakendus vajab ja miks.
- Olge andmekäsitluse ja privaatsuse osas läbipaistev.
- Kasutage tootja ja toote ID-sid strateegiliselt:
- Kuigi VID/PID järgi filtreerimine on tavaline, kaaluge laiemaid USB-klasse või protokolle toetamist, kui teie rakendus on mõeldud erinevatele seadmetele.
- Olge teadlik, et mõned tootjad kasutavad geneerilisi VID/PID paare, mis võivad nõuda täpsemat filtreerimist või kasutaja valikut.
Web USB tulevik
Web USB API on fundamentaalne samm veebi muutmisel interaktiivsemaks ja võimekamaks platvormiks riistvara juhtimiseks. Kuna veebilehitsejate tootjad jätkavad API rakendamist ja täiustamist ning üha rohkem arendajaid uurib selle potentsiaali, võime oodata uuenduslike veebirakenduste lainet, mis integreeruvad sujuvalt füüsilise maailmaga.
Seotud veebistandardite, nagu Web Serial API (jadaühenduseks USB kaudu) ja WebHID API (inimliideseseadmetele), jätkuv areng tugevdab veelgi veebi võimet suhelda riistvaraga. Need API-d, kui neid kasutada koos Web USB-ga, loovad võimsa tööriistakomplekti arendajatele, kes soovivad luua keerukaid veebilehitseja-põhiseid riistvaralahendusi.
Globaalsele arendajate kogukonnale esindab Web USB API võimalust luua universaalselt ligipääsetavaid tööriistu ja kogemusi. Abstraheerides ära natiivse arenduse keerukused ja pakkudes standardiseeritud, turvalist liidest, alandab see sisenemisbarjääri keerukate riistvarapõhiste veebirakenduste loomiseks. Olgu see hariduse, tööstuse või isiklike projektide jaoks, võime otse USB-seadmetega ühendust võtta veebilehitsejast on valmis revolutsiooniliselt muutma seda, kuidas me tehnoloogiaga suhtleme.
Kokkuvõte
Esiotsa Web USB API on märkimisväärne edasiminek veebitehnoloogias, andes arendajatele võimaluse ületada lõhe digitaalse ja füüsilise maailma vahel. Võimaldades otsest USB-seadme juurdepääsu ja juhtimist veebilehitsejas, avab see laia valiku võimalusi interaktiivsete, riistvaraga täiustatud veebirakenduste loomiseks. Kuigi veebilehitsejate toe ja USB olemusliku keerukusega seotud väljakutsed püsivad, muudavad selged turvalisuse eelised ja platvormideülese innovatsiooni potentsiaal selle API uurimist väärivaks.
Arendajatele üle maailma tähendab Web USB API omaksvõtmine sisenemist ajastusse, kus veebirakendused saavad pakkuda enamat kui lihtsalt teavet; nad saavad pakkuda käegakatsutavat suhtlust seadmetega, mis kujundavad meie maailma. Ökosüsteemi küpsedes ja toe kasvades saab Web USB API kahtlemata asendamatuks tööriistaks järgmise põlvkonna ühendatud, intelligentsete ja universaalselt ligipääsetavate veebikogemuste loomisel.